module Main(main) where 

-- imports
import Tipos 
import System
import System.IO

main :: IO()
main = 
		do
			(estado, buffer) <- iniciarEdi
			if(estado == ERROR) 
				then 
					do print estado
				else putStrLn buffer
--		  	editor' <- procesarComandos editor
--			terminarEdi
		  
--procesarComandos editor =
--		do 	comando <- leerComando
--			if esValidoComando comando
--			then do editor' <- ejecutarComando comando editor
--					procesarComandos editor'
--			else do procesarError
--					procesarComandos editor
				
				
--iniciarEdi :: [String] -> IO(EstadoEditor, String)
iniciarEdi :: IO(EstadoEditor, String)
iniciarEdi  = 
				do 	
					params <- getArgs
					if (length(params) == 1)
						then 
							do
							let archivo = head(params)
							handle  <- openFile archivo ReadMode
							buffer  <- hGetContents handle
							return (COMANDO, buffer)
						else
							return (ERROR, [])
